#pragma once
#include "math/Vector3.h"
#include <vector>
struct Light
{
	float ambient;
	float diffuse;
	float specular;
	Vector3 color;
};
struct DirectionalLight :public Light
{
	Vector3 direction;
};

struct PointLight :public Light
{
	Vector3 position;

	float constant;
	float linear;
	float quadratic;
};

struct SpotLight :public Light
{
	Vector3 position;
	Vector3 direction;

	float innerCutOff;
	float outerCutOff;
};

class LightSpawner
{
public:
	static std::vector<DirectionalLight*> m_DirectionalLights;
	static std::vector<PointLight*> m_PointLights;
	static std::vector<SpotLight*> m_SpotLights;
};

